﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.ComponentModel;

namespace SuperDeepZoom
{
    /// <summary>
    /// Data class which is supplied to each segment on the overlay
    /// </summary>
    public class FlyThroughOverlaySegment : INotifyPropertyChanged
    {
        Point origin;
        double length;
        double angle;

        public FlyThroughOverlaySegment()
        {
           
        }

        public string Id
        {
            get;
            set;
        }

        public Point Origin
        {
            get
            {
                return origin;
            }
            set
            {
                origin = value;
                onPropertyChanged("Origin");
            }
        }

        public double Length
        {
            get
            {
                return length;
            }
            set
            {
                length = value;
                onPropertyChanged("Length");
            }
        }

        public double Angle
        {
            get
            {
                return angle;
            }
            set
            {
                angle = value;
                onPropertyChanged("Angle");
            }
        }


        #region INotifyPropertyChanged Members

        void onPropertyChanged(string propertyName)
        {
            if (PropertyChanged != null)
            {
                PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
            }
        }

        public event PropertyChangedEventHandler PropertyChanged;

        #endregion
    }

    public enum FlyThroughSource
    {
        FromHashUrl,
        FromCurrentUser
    }
}
